Waterfall or Cascade Model

  1. Stage - Requirements Definition: In this stage, the requirements of the product/software/system being developed are documented, including its behavior, target hardware, etc., which are necessary for the proper functioning of the software. Sometimes this stage is further divided into two - System Analysis and Requirements Analysis.
  2. Stage - System and Software Design: In the second stage, the system and software being developed are designed, focusing on their main characteristics. Key characteristics may include: Data structures, software architecture, interfaces, interface properties, and procedural and algorithmic details. The design results are documented and used to assess project quality during implementation.
  3. Stage - Implementation and Module Testing: Based on the previously documented design, the third stage involves the development of the software/system. During development, the program is developed module by module or as a collection of modules. After programming, module and collection tests are performed. Depending on the level of detail in the design documentation, the development work in this stage varies. The more detailed the design, the easier the development work.
  4. Stage - Integration and System Testing: The entire software system is tested. After testing, the product is delivered to the client or target user group. Testing verifies whether the system performs as previously documented and checks if the system details are logical.
  5. Stage - Operation and Maintenance: The longest stage in the software life cycle. This involves error correction, functional changes (based on client, market, environment, or target group input/needs). Development work repeats all previous stages, but now only to modify the system, not to develop something new from scratch.

Each stage results in one or more documents describing the outcomes achieved in that stage. All documents are approved. The next stage cannot begin until the previous one is completed, although some overlap may occur, and information can be passed from one stage to another.

development cycle image
Advantages Disadvantages
Flexibility Unpredictable
Speed; faster time to market Focus on here and now
Reduced risk Relies on collaboration
Sources: EUCIP